home *** CD-ROM | disk | FTP | other *** search
/ Hottest 6 / Hottest 6 (1996)(PDSoft)[!].iso / software / fredfish / 1092.lha / Programs / ErrorMsg / Rexx / ERMID.rexx next >
OS/2 REXX Batch file  |  1994-12-22  |  7KB  |  160 lines

  1. /* This program is in fact a function that is used to return the numeric */
  2. /* value of the identifier given in argument. This is part of the */
  3. /* errormsg.library V4.01 distribution (not required to work though) */
  4. /*******************************************************/
  5. /*                                                     */
  6. /* $VER: rexx:ERMID.rexx 1.04 (22.12.94)               */
  7. /*                                                     */
  8. /* ©1994 F.Delacroix, FreeWare                         */
  9. /*                                                     */
  10. /* Usage: Num=ERMID(AlphaNum)                          */
  11. /*                                                     */
  12. /* See below for possible values                       */
  13. /*                                                     */
  14. /* Frédéric Delacroix                                  */
  15. /* 5 rue d'Artres                                      */
  16. /* 59269 Quérénaing                                    */
  17. /* France                                              */
  18. /*                                                     */
  19. /*******************************************************/
  20.  
  21. parse upper arg args.1 .,args.2 .,args.3 .,args.4 .,args.5 .,args.6 .,
  22.         args.7 .,args.8 .,args.9 .,args.10 .,args.11 .,args.12 .,
  23.         args.13 .,args.14 .,args.15 .
  24.  
  25. NumID=0
  26.  
  27. do i=1 to Arg()
  28.  
  29.     select
  30.  
  31. /* First check for system identifiers for errormsg.library */
  32.         when args.i=ERMSYS_DOS then return 0
  33.         when args.i=ERMSYS_EXEC then return 1
  34.         when args.i=ERMSYS_GRAPHICS then return 2
  35.         when args.i=ERMSYS_INTUITION then return 3
  36.         when args.i=ERMSYS_IFFPARSE then return 4
  37.         when args.i=ERMSYS_AUDIO then return 5
  38.         when args.i=ERMSYS_GAMEPORT then return 6
  39.         when args.i=ERMSYS_NARRATOR then return 7
  40.         when args.i=ERMSYS_PARALLEL then return 8
  41.         when args.i=ERMSYS_PRINTER then return 9
  42.         when args.i=ERMSYS_SCSIDISK then return 10
  43.         when args.i=ERMSYS_SERIAL then return 11
  44.         when args.i=ERMSYS_TRACKDISK then return 12
  45.         when args.i=ERMSYS_CLIPBOARD then return 13
  46.         when args.i=ERMSYS_CONSOLE then return 14
  47.         when args.i=ERMSYS_INPUT then return 15
  48.         when args.i=ERMSYS_KEYBOARD then return 16
  49.         when args.i=ERMSYS_TIMER then return 17
  50.         when args.i=ERMSYS_AMIGAGUIDE then return 18
  51.         when args.i=ERMSYS_ARP then return 19
  52.         when args.i=ERMSYS_COMMODITIES then return 20
  53.         when args.i=ERMSYS_ERRORMSG then return 21
  54.         when args.i=ERMSYS_EXPANSION then return 22
  55.         when args.i=ERMSYS_GADTOOLS then return 23
  56.         when args.i=ERMSYS_POWERPACKER then return 24
  57.         when args.i=ERMSYS_TRANSLATOR then return 25
  58.         when args.i=ERMSYS_DATATYPES then return 26
  59.         when args.i=ERMSYS_DISKFONT then return 27
  60.         when args.i=ERMSYS_MUI then return 28
  61.         when args.i=ERMSYS_XFD then return 29
  62.         when args.i=ERMSYS_GADTOOLSBOX then return 30
  63.         when args.i=ERMSYS_GUIFRONT then return 31
  64.         when args.i=ERMSYS_XPK then return 32
  65.  
  66. /* then check for subsystem identifiers for errormsg.library */
  67.         when args.i=ERMSUB_Generic then return 0
  68.  
  69. /* For ERMSYS_DOS: */
  70.         when args.i=ERMSUB_IoErr then return -132
  71.         when args.i=ERMSUB_MatchFirst then return -132
  72.         when args.i=ERMSUB_MatchNext then return -132
  73.  
  74. /* For ERMSYS_EXEC: */
  75.         when args.i=ERMSUB_NoMemory then return -198
  76.         when args.i=ERMSUB_NoLibrary then return -552
  77.  
  78. /* For ERMSYS_GRAPHICS: */
  79.         when args.i=ERMSUB_MakeVPort then return -216
  80.         when args.i=ERMSUB_MrgCop then return -210
  81.  
  82. /* For ERMSYS_INTUITION: */
  83.         when args.i=ERMSUB_OpenScreen then return -198
  84.         when args.i=ERMSUB_OpenScreenTagList then return -198
  85.  
  86. /* For ERMSYS_COMMODITIES: */
  87.         when args.i=ERMSUB_CxBroker then return -36
  88.         when args.i=ERMSUB_CxObjError then return -66
  89.  
  90. /* For ERMSYS_MUI: */
  91.         when args.i=ERMSUB_MUIAutoError then return -66
  92. /* note: the latter is only defined in a consistency concern; it is obvious
  93. it is not usable from an ARexx program (hard to make ARexx programs into
  94. MUI applications ! :-) */
  95.  
  96. /* For ERMSYS_GADTOOLSBOX :*/
  97.         when args.i=ERMSUB_LoadGUI then return -264
  98.         when args.i=ERMSUB_SetupScreen then return 1
  99.         when args.i=ERMSUB_OpenAWindow then return 2
  100.  
  101. /* For ERMSYS_GUIFRONT :*/
  102.         when args.i=ERMSUB_CreateGUIA then return -60
  103.  
  104.  
  105. /* Some systems constants now...*/
  106.  
  107. /* memory attributes */
  108.         when args.i=MEMF_ANY then nop /* equals 0 */
  109.         when args.i=MEMF_PUBLIC then NumID=NumID+1
  110.         when args.i=MEMF_CHIP then NumID=NumID+2
  111.         when args.i=MEMF_FAST then NumID=NumID+4
  112.         when args.i=MEMF_LOCAL then NumID=NumID+256
  113.         when args.i=MEMF_24BITDMA then NumID=NumID+512
  114.         when args.i=MEMF_KICK then NumID=NumID+1024
  115.  
  116. /* IDCMP flags */
  117.         when args.i=IDCMP_SIZEVERIFY then NumID=NumID+1
  118.         when args.i=IDCMP_NEWSIZE then NumID=NumID+2
  119.         when args.i=IDCMP_REFRESHWINDOW then NumID=NumID+4
  120.         when args.i=IDCMP_MOUSEBUTTONS then NumID=NumID+8
  121.         when args.i=IDCMP_MOUSEMOVE then NumID=NumID+16
  122.         when args.i=IDCMP_GADGETDOWN then NumID=NumID+32
  123.         when args.i=IDCMP_GADGETUP then NumID=NumID+64
  124.         when args.i=IDCMP_REQSET then NumID=NumID+128
  125.         when args.i=IDCMP_MENUPICK then NumID=NumID+256
  126.         when args.i=IDCMP_CLOSEWINDOW then NumID=NumID+512
  127.         when args.i=IDCMP_RAWKEY then NumID=NumID+1024
  128.         when args.i=IDCMP_REQVERIFY then NumID=NumID+2048
  129.         when args.i=IDCMP_REQCLEAR then NumID=NumID+4096
  130.         when args.i=IDCMP_MENUVERIFY then NumID=NumID+8192
  131.         when args.i=IDCMP_NEWPREFS then NumID=NumID+16384
  132.         when args.i=IDCMP_DISKINSERTED then NumID=NumID+32768
  133.         when args.i=IDCMP_DISKREMOVED then NumID=NumID+65536
  134.         when args.i=IDCMP_WBENCHMESSAGE then NumID=NumID+131072
  135.         when args.i=IDCMP_ACTIVEWINDOW then NumID=NumID+262144
  136.         when args.i=IDCMP_INACTIVEWINDOW then NumID=NumID+524288
  137.         when args.i=IDCMP_DELTAMOVE then NumID=NumID+1048576
  138.         when args.i=IDCMP_VANILLAKEY then NumID=NumID+2097152
  139.         when args.i=IDCMP_INTUITICKS then NumID=NumID+4194304
  140.         when args.i=IDCMP_IDCMPUPDATE then NumID=NumID+8388608
  141.         when args.i=IDCMP_MENUHELP then NumID=NumID+16777216
  142.         when args.i=IDCMP_CHANGEWINDOW then NumID=NumID+33554432
  143.         when args.i=IDCMP_GADGETHELP then NumID=NumID+67108864
  144.         when args.i=IDCMP_LONELYMESSAGE then NumID=NumID+4294967296
  145.  
  146. /* flags for ERMSYS_EXEC/ERMSUB_NoLibrary (see include file!)
  147.         when args.i=EXECF_NOLIB_USENAME then NumID=NumID+1
  148.         when args.i=EXECF_NOLIB_USEVERION then NumID=NumID+3
  149.  
  150. /* Here it is, it should be enough for any symbol required for */
  151. /* errormsg.library functions. Of course, nothing prevents you */
  152. /* from using these symbols (and this program) in another context, */
  153. /* just remember this is copyright 1994 F.Delacroix, FreeWare */
  154.  
  155.         otherwise nop
  156.     end /* end of select */
  157. end /* end of do */
  158.  
  159. return NumID
  160.